package com.lesso.yzh.sunflower.infra.assembler;

import com.lesso.yzh.sunflower.model.Employee;
import com.lesso.yzh.sunflower.pojo.dto.EmployeeDTO;
import com.lesso.yzh.sunflower.pojo.dto.EmployeeUpdateDTO;
import com.lesso.yzh.sunflower.pojo.vo.EmployeeVO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * EmployeeAssembler
 *
 * @author yzh
 * @since 2025-07-02
 */
@Mapper
public interface EmployeeAssembler {
    EmployeeAssembler INSTANCE = Mappers.getMapper(EmployeeAssembler.class);

    Employee dtoToEntity(EmployeeDTO dto);

    EmployeeVO entityToVO(Employee employee);

    List<EmployeeVO> entityListToVOList(List<Employee> employees);

    Employee dtoToUpdateEntity(EmployeeUpdateDTO dto);
}
